using Smart.Model;

namespace Smart.Model.TABLE
{
	[TableLoader]
	public class EFFECTExtend : ITableLoader
	{
		public string FileName => "EFFECT";
		public void Init(TableData tableData)
		{
			EFFECT.__data = tableData;
		}
		public object CreateAndBind(TableHandle handle)
		{
			var item = new EFFECT();
			item.handle = handle;
			return item;
		}
		public void Bind(object item, TableHandle handle)
		{
			(item as EFFECT).handle = handle;
		}
	}

	public class EFFECT : ITable
	{
		public TableHandle handle;
		public static TableData __data;
		public int id
		{
			get
			{
				return __data.intValues[handle.intOffset + 0];
			}
		}
		public string name
		{
			get
			{
				return __data.varStringValues[__data.intValues[handle.intOffset + 1] & 0xFFFFF];
			}
		}
		public int resType
		{
			get
			{
				return __data.intValues[handle.intOffset + 2];
			}
		}
		public int destroyTime
		{
			get
			{
				return __data.intValues[handle.intOffset + 3];
			}
		}
		public int effecttype
		{
			get
			{
				return __data.intValues[handle.intOffset + 4];
			}
		}
		public int offsetX
		{
			get
			{
				return __data.intValues[handle.intOffset + 5];
			}
		}
		public int offsetY
		{
			get
			{
				return __data.intValues[handle.intOffset + 6];
			}
		}
		public int offsetZ
		{
			get
			{
				return __data.intValues[handle.intOffset + 7];
			}
		}
		public int playType
		{
			get
			{
				return __data.intValues[handle.intOffset + 8];
			}
		}
		public int dec
		{
			get
			{
				return __data.intValues[handle.intOffset + 9];
			}
		}
		public int shader
		{
			get
			{
				return __data.intValues[handle.intOffset + 10];
			}
		}
	}
}
